
package org.authsum.stitches.domain;

import java.io.Serializable;
import javax.xml.bind.JAXBElement;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElementRef;
import javax.xml.bind.annotation.XmlType;


/**
 * <p>Java class for LongLat complex type.
 * 
 * <p>The following schema fragment specifies the expected content contained within this class.
 * 
 * <pre>
 * &lt;complexType name="LongLat">
 *   &lt;complexContent>
 *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
 *       &lt;sequence>
 *         &lt;element name="attributeValue" type="{http://domain.stitches.authsum.org}AttributeValue" minOccurs="0"/>
 *         &lt;element name="beforeInsert" type="{http://www.w3.org/2001/XMLSchema}anyType" minOccurs="0"/>
 *         &lt;element name="beforeUpdate" type="{http://www.w3.org/2001/XMLSchema}anyType" minOccurs="0"/>
 *         &lt;element name="id" type="{http://www.w3.org/2001/XMLSchema}long" minOccurs="0"/>
 *         &lt;element name="latitude" type="{http://www.w3.org/2001/XMLSchema}double" minOccurs="0"/>
 *         &lt;element name="longitude" type="{http://www.w3.org/2001/XMLSchema}double" minOccurs="0"/>
 *         &lt;element name="searchLatitude" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
 *         &lt;element name="searchLongitude" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
 *         &lt;element name="version" type="{http://www.w3.org/2001/XMLSchema}long" minOccurs="0"/>
 *       &lt;/sequence>
 *     &lt;/restriction>
 *   &lt;/complexContent>
 * &lt;/complexType>
 * </pre>
 * 
 * 
 */
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "LongLat", propOrder = {
    "attributeValue",
    "beforeInsert",
    "beforeUpdate",
    "id",
    "latitude",
    "longitude",
    "searchLatitude",
    "searchLongitude",
    "version"
})
public class LongLat
    implements Serializable
{

    @XmlElementRef(name = "attributeValue", namespace = "http://domain.stitches.authsum.org", type = JAXBElement.class)
    protected JAXBElement<AttributeValue> attributeValue;
    @XmlElementRef(name = "beforeInsert", namespace = "http://domain.stitches.authsum.org", type = JAXBElement.class)
    protected JAXBElement<Object> beforeInsert;
    @XmlElementRef(name = "beforeUpdate", namespace = "http://domain.stitches.authsum.org", type = JAXBElement.class)
    protected JAXBElement<Object> beforeUpdate;
    @XmlElementRef(name = "id", namespace = "http://domain.stitches.authsum.org", type = JAXBElement.class)
    protected JAXBElement<Long> id;
    @XmlElementRef(name = "latitude", namespace = "http://domain.stitches.authsum.org", type = JAXBElement.class)
    protected JAXBElement<Double> latitude;
    @XmlElementRef(name = "longitude", namespace = "http://domain.stitches.authsum.org", type = JAXBElement.class)
    protected JAXBElement<Double> longitude;
    @XmlElementRef(name = "searchLatitude", namespace = "http://domain.stitches.authsum.org", type = JAXBElement.class)
    protected JAXBElement<String> searchLatitude;
    @XmlElementRef(name = "searchLongitude", namespace = "http://domain.stitches.authsum.org", type = JAXBElement.class)
    protected JAXBElement<String> searchLongitude;
    @XmlElementRef(name = "version", namespace = "http://domain.stitches.authsum.org", type = JAXBElement.class)
    protected JAXBElement<Long> version;

    /**
     * Gets the value of the attributeValue property.
     * 
     * @return
     *     possible object is
     *     {@link JAXBElement }{@code <}{@link AttributeValue }{@code >}
     *     
     */
    public JAXBElement<AttributeValue> getAttributeValue() {
        return attributeValue;
    }

    /**
     * Sets the value of the attributeValue property.
     * 
     * @param value
     *     allowed object is
     *     {@link JAXBElement }{@code <}{@link AttributeValue }{@code >}
     *     
     */
    public void setAttributeValue(JAXBElement<AttributeValue> value) {
        this.attributeValue = ((JAXBElement<AttributeValue> ) value);
    }

    /**
     * Gets the value of the beforeInsert property.
     * 
     * @return
     *     possible object is
     *     {@link JAXBElement }{@code <}{@link Object }{@code >}
     *     
     */
    public JAXBElement<Object> getBeforeInsert() {
        return beforeInsert;
    }

    /**
     * Sets the value of the beforeInsert property.
     * 
     * @param value
     *     allowed object is
     *     {@link JAXBElement }{@code <}{@link Object }{@code >}
     *     
     */
    public void setBeforeInsert(JAXBElement<Object> value) {
        this.beforeInsert = ((JAXBElement<Object> ) value);
    }

    /**
     * Gets the value of the beforeUpdate property.
     * 
     * @return
     *     possible object is
     *     {@link JAXBElement }{@code <}{@link Object }{@code >}
     *     
     */
    public JAXBElement<Object> getBeforeUpdate() {
        return beforeUpdate;
    }

    /**
     * Sets the value of the beforeUpdate property.
     * 
     * @param value
     *     allowed object is
     *     {@link JAXBElement }{@code <}{@link Object }{@code >}
     *     
     */
    public void setBeforeUpdate(JAXBElement<Object> value) {
        this.beforeUpdate = ((JAXBElement<Object> ) value);
    }

    /**
     * Gets the value of the id property.
     * 
     * @return
     *     possible object is
     *     {@link JAXBElement }{@code <}{@link Long }{@code >}
     *     
     */
    public JAXBElement<Long> getId() {
        return id;
    }

    /**
     * Sets the value of the id property.
     * 
     * @param value
     *     allowed object is
     *     {@link JAXBElement }{@code <}{@link Long }{@code >}
     *     
     */
    public void setId(JAXBElement<Long> value) {
        this.id = ((JAXBElement<Long> ) value);
    }

    /**
     * Gets the value of the latitude property.
     * 
     * @return
     *     possible object is
     *     {@link JAXBElement }{@code <}{@link Double }{@code >}
     *     
     */
    public JAXBElement<Double> getLatitude() {
        return latitude;
    }

    /**
     * Sets the value of the latitude property.
     * 
     * @param value
     *     allowed object is
     *     {@link JAXBElement }{@code <}{@link Double }{@code >}
     *     
     */
    public void setLatitude(JAXBElement<Double> value) {
        this.latitude = ((JAXBElement<Double> ) value);
    }

    /**
     * Gets the value of the longitude property.
     * 
     * @return
     *     possible object is
     *     {@link JAXBElement }{@code <}{@link Double }{@code >}
     *     
     */
    public JAXBElement<Double> getLongitude() {
        return longitude;
    }

    /**
     * Sets the value of the longitude property.
     * 
     * @param value
     *     allowed object is
     *     {@link JAXBElement }{@code <}{@link Double }{@code >}
     *     
     */
    public void setLongitude(JAXBElement<Double> value) {
        this.longitude = ((JAXBElement<Double> ) value);
    }

    /**
     * Gets the value of the searchLatitude property.
     * 
     * @return
     *     possible object is
     *     {@link JAXBElement }{@code <}{@link String }{@code >}
     *     
     */
    public JAXBElement<String> getSearchLatitude() {
        return searchLatitude;
    }

    /**
     * Sets the value of the searchLatitude property.
     * 
     * @param value
     *     allowed object is
     *     {@link JAXBElement }{@code <}{@link String }{@code >}
     *     
     */
    public void setSearchLatitude(JAXBElement<String> value) {
        this.searchLatitude = ((JAXBElement<String> ) value);
    }

    /**
     * Gets the value of the searchLongitude property.
     * 
     * @return
     *     possible object is
     *     {@link JAXBElement }{@code <}{@link String }{@code >}
     *     
     */
    public JAXBElement<String> getSearchLongitude() {
        return searchLongitude;
    }

    /**
     * Sets the value of the searchLongitude property.
     * 
     * @param value
     *     allowed object is
     *     {@link JAXBElement }{@code <}{@link String }{@code >}
     *     
     */
    public void setSearchLongitude(JAXBElement<String> value) {
        this.searchLongitude = ((JAXBElement<String> ) value);
    }

    /**
     * Gets the value of the version property.
     * 
     * @return
     *     possible object is
     *     {@link JAXBElement }{@code <}{@link Long }{@code >}
     *     
     */
    public JAXBElement<Long> getVersion() {
        return version;
    }

    /**
     * Sets the value of the version property.
     * 
     * @param value
     *     allowed object is
     *     {@link JAXBElement }{@code <}{@link Long }{@code >}
     *     
     */
    public void setVersion(JAXBElement<Long> value) {
        this.version = ((JAXBElement<Long> ) value);
    }

}
